Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / android / app / src / main / java / com / meshchatx / LocalhostTrustOkHttpClient.java

Displaying Raw • Download


android/app/src/main/java/com/meshchatx/LocalhostTrustOkHttpClient.java e0f1f99cd1c208c5008a936230c38e448dddd45d (e0f1f99c) Text, 2.42 KB

Tff7b72package T7ee787com.meshchatxTb4b4b4;

Tff7b72import T7ee787java.security.SecureRandomTb4b4b4;
Tff7b72import T7ee787java.security.cert.X509CertificateTb4b4b4;
Tff7b72import T7ee787java.util.concurrent.TimeUnitTb4b4b4;

Tff7b72import T7ee787javax.net.ssl.SSLContextTb4b4b4;
Tff7b72import T7ee787javax.net.ssl.TrustManagerTb4b4b4;
Tff7b72import T7ee787javax.net.ssl.X509TrustManagerTb4b4b4;

Tff7b72import T7ee787okhttp3.OkHttpClientTb4b4b4;

T8b949e/**
* OkHttp for HTTPS to the embedded MeshChatX server on 127.0.0.1 only (self-signed cert, same
* as WebView SSL ignore). Do not use for public hosts.
*/
Tff7b72public Tff7b72final Tff7b72class T56d364LocalhostTrustOkHttpClient Tb4b4b4{
Tff7b72private Tff7b72static Te6edf3OkHttpClient Te6edf3instanceTb4b4b4;

Tff7b72private Td2a8ffLocalhostTrustOkHttpClientTb4b4b4(Tb4b4b4) Tb4b4b4{
Tb4b4b4}

Tff7b72public Tff7b72static Tff7b72synchronized Te6edf3OkHttpClient Td2a8ffgetTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3instance Tff7b72=Tff7b72= Tff7b72nullTb4b4b4) Tb4b4b4{
Te6edf3instance Tff7b72= Te6edf3buildTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3instanceTb4b4b4;
Tb4b4b4}

Tf0883e@SuppressWarningsTb4b4b4(Ta5d6ff"Ta5d6ffCustomX509TrustManagerTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72static Te6edf3OkHttpClient Td2a8ffbuildTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72final Te6edf3TrustManagerTff7b72[Tff7b72] Te6edf3allTrust Tff7b72= Tff7b72new Te6edf3TrustManagerTff7b72[Tff7b72] Tb4b4b4{
Tff7b72new Te6edf3X509TrustManagerTb4b4b4(Tb4b4b4) Tb4b4b4{
Tf0883e@Override
Tf0883e@SuppressWarningsTb4b4b4(Ta5d6ff"Ta5d6ffMethodDoesntCallSuperMethodTa5d6ff"Tb4b4b4)
Tff7b72public Tffa657void Td2a8ffcheckClientTrustedTb4b4b4(Te6edf3X509CertificateTff7b72[Tff7b72] Te6edf3cTb4b4b4, Te6edf3String Te6edf3tTb4b4b4) Tb4b4b4{
Tb4b4b4}

Tf0883e@Override
Tf0883e@SuppressWarningsTb4b4b4(Ta5d6ff"Ta5d6ffMethodDoesntCallSuperMethodTa5d6ff"Tb4b4b4)
Tff7b72public Tffa657void Td2a8ffcheckServerTrustedTb4b4b4(Te6edf3X509CertificateTff7b72[Tff7b72] Te6edf3cTb4b4b4, Te6edf3String Te6edf3tTb4b4b4) Tb4b4b4{
Tb4b4b4}

Tf0883e@Override
Tff7b72public Te6edf3X509CertificateTff7b72[Tff7b72] Td2a8ffgetAcceptedIssuersTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72new Te6edf3X509CertificateTff7b72[T79c0ff0Tff7b72]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4;
Te6edf3SSLContext Te6edf3sc Tff7b72= Te6edf3SSLContextTb4b4b4.Te6edf3getInstanceTb4b4b4(Ta5d6ff"Ta5d6ffTLSTa5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3scTb4b4b4.Te6edf3initTb4b4b4(Tff7b72nullTb4b4b4, Te6edf3allTrustTb4b4b4, Tff7b72new Te6edf3SecureRandomTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72new Te6edf3OkHttpClientTb4b4b4.Te6edf3BuilderTb4b4b4(Tb4b4b4)
Tb4b4b4.Te6edf3sslSocketFactoryTb4b4b4(Te6edf3scTb4b4b4.Te6edf3getSocketFactoryTb4b4b4(Tb4b4b4)Tb4b4b4, Tb4b4b4(Te6edf3X509TrustManagerTb4b4b4) Te6edf3allTrustTff7b72[T79c0ff0Tff7b72]Tb4b4b4)
Tb4b4b4.Te6edf3hostnameVerifierTb4b4b4(
Tb4b4b4(Te6edf3hostnameTb4b4b4, Te6edf3sessionTb4b4b4) Tff7b72-Tff7b72>
Ta5d6ff"Ta5d6ff127.0.0.1Ta5d6ff"Tb4b4b4.Te6edf3equalsTb4b4b4(Te6edf3hostnameTb4b4b4) Tff7b72|Tff7b72| Ta5d6ff"Ta5d6fflocalhostTa5d6ff"Tb4b4b4.Te6edf3equalsIgnoreCaseTb4b4b4(Te6edf3hostnameTb4b4b4)
Tb4b4b4)
Tb4b4b4.Te6edf3readTimeoutTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3TimeUnitTb4b4b4.Te6edf3MILLISECONDSTb4b4b4)
Tb4b4b4.Te6edf3writeTimeoutTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3TimeUnitTb4b4b4.Te6edf3MILLISECONDSTb4b4b4)
Tb4b4b4.Te6edf3connectTimeoutTb4b4b4(T79c0ff15Tb4b4b4, Te6edf3TimeUnitTb4b4b4.Te6edf3SECONDSTb4b4b4)
Tb4b4b4.Te6edf3callTimeoutTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3TimeUnitTb4b4b4.Te6edf3MILLISECONDSTb4b4b4)
Tb4b4b4.Te6edf3pingIntervalTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3TimeUnitTb4b4b4.Te6edf3SECONDSTb4b4b4)
Tb4b4b4.Te6edf3buildTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3Exception Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Te6edf3IllegalStateExceptionTb4b4b4(Ta5d6ff"Ta5d6fflocalhost OkHttpTa5d6ff"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────